#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//break 和  continue 的区别：
//break 是永久终止循环
//continue 只要执行这个命令之后，代码后面的其它语句就不执行了,直接去判断部分了


//while循环的break  和  continue


int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (5 == i)
			break;
		printf("%d ", i);
		i++;
	}

	return 0;
}


// while循环continue执行后直接跳到判断部分

int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (5 == i)
			continue;
		printf("%d ", i);//打印完 1 2 3 4  后，就死循环了
		i++;
	}

	return 0;
}


int main()
{
	int i = 1;
	while (i <= 10)
	{
		i++;
		if (5 == i)
			continue;
		printf("%d ", i);// 打印 2 3 4 5 6 7 8 9 10 11
		
	}

	return 0;
}


//for循环中的break 和 continue


int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (5 == i)
			break;
		printf("%d ", i);
	}
	return 0;
}

//for 循环  和 while 循环 中continue
//for循环continue执行后直接跳到调整部分 ， while循环continue执行后直接跳到判断部分

int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (5 == i)
			continue;
		printf("%d ", i);
	}
	return 0;
}

//for 循环的初始化，判断，调整三个部分都是可以省略的
//如果for循环中判断部分被省略，那么判断部分就恒为真，就可以造成死循环

int main()
{
	for (;;)
	{
		printf("haha\n");
	}

	return 0;
}

int main()
{
	int i = 0;
	for (; i <= 10; i++)
	{
		printf("haha\n");
	}
	return 0;
}


// do-while语句


int main()
{
	int i = 1;
	do
	{
		if (5 == i)
			break;
		printf("%d ", i);
		i++;
	} while (i <= 10);

	return 0;
}

int main()
{
	int i = 1;
	do
	{
		if (5 == i)
			continue;
		printf("%d ", i);//打印完 1 2 3 4  后，就死循环了
		i++;
	} while (i <= 10);

	return 0;
}


//循环嵌套
// 判断100 - 200之间的素数
int main()
{
	int i = 0;
	//creat number
	int j;
	for (i = 100; i <= 200; i++)
	{
		int jduge = 0;
		//jduge prime
		for (j = 2; j < i; j++)
		{

			if (i % j == 0)
			{
				jduge = 1;
				break;
			}
		}
		if (jduge == 0)
		{
			printf(" %d", i);
		}

	}
	return 0;
}

//简化

//sqrt() 函数是开平方的，头文件是math.h
//#include <math.h>

int main()
{
	int i = 0;
	for (i = 101; i <= 200; i += 2)
	{
		int flag = 1;//假设i是素数
		int j = 0;//判断i是否为素数，使用循环产生2 - i-1的数字
		for (j = 2; j <= sqrt(i); j++)
		{
			if (0 == i % j)
			{
				flag = 0;//i 不是素数
				break;
			}
		}
		if (1 == flag)
		{
			printf("%d ", i);
		}
	}

	return 0;
}